Method for determining auxiliary position-control parameters

ABSTRACT

A method is proposed for determining parameters for the auxiliary control of the position guidance variable of an axis of a numerically controlled machine path. If the auxiliary control parameters up to the n th  order are known for the i-th axis, auxiliary control parameter of the order of n+1 can be determined by predetermining a guidance variable signal in the form of a parabola of the order of n+1 for the axis. By including the amplification (K) of the control unit (11) and the n+1-th derivation of the guidance variable signal over time, a auxiliary control parameter of the order of n+1 can be determined from the steady-state error which occurs.

BACKGROUND OF THE INVENTION

The invention is based on a method for increasing the precision of pathsin numerically controlled machine tools, and more particularly to amethod of determining a parameter for auxiliary control in a positioncontrol loop of the numerically controlled path of a machine having iaxes. One proposal for increasing path precision by superimposingauxiliary values is known from "Zeitschrift fur industrielle Fertigung"(Journal for Industrial Manufacturing), 1978, Pages 329 to 333. Thisreference describes a plurality of possibilities for influencing theguidance variable of the position control of a machine tool. In thisprior art method of auxiliary control, the desired position signal issupplemented by adding suitably weighted control signals. The particulargoal of the arrangements proposed in the Journal for IndustrialManufacturing, 1978, Pages 329-333 is to improve path precision whiletravelling through a corner. With respect to the superimposition ofauxiliary values, the reference is limited to the possibility ofauxiliary control of speed, i.e., superimposing an auxiliary signal thatis proportional to the guidance speed. Auxiliary control of theaccelerated guide speed, i.e., superimposing an auxiliary value in theform of an acceleration signal proportional to guidance acceleration orgreater derivations of the guidance variable, is not provided. Thisreference does not give any information on how the auxiliary controlparameters required for carrying out the auxiliary control for greaterderivations of guidance variables can be obtained.

EP 0,184,036 also discloses a control method for NC machines thatemploys the auxiliary control method. Moreover, NC (numericallycontrolled) control units are available commercially, for example, fromthe FANUC and OSAI companies of Japan, which also use the auxiliaryspeed control method. The parameters required for auxiliary control inthis case are exactly predetermined or they are set empirically for eachmachine.

SUMMARY OF THE INVENTION

It is the object of the present invention to provide a method whichpermits the systematic determination of auxiliary control parameters forany desired machine.

This objective is attained by a method in which: a position valuechanging over time in the form of a ramp is given as a guidance variablefor the position control of the i-th axis; the steady-state error of thei-th axis between the guidance variable and the actual position value isdetected; a speed auxiliary control parameter is derived from thesteady-state error; and the speed auxiliary control parameter istransferred to a control unit. The method is not machine specific andmay be used for any desired machine. It can be carried out withoutperforming an expensive identification of the control path. In additionto determining a parameter for the auxiliary control of the speed in asimple manner, it permits further parameters for auxiliary control ofacceleration and for auxiliary control of jolts to be obtained, and itmay also be used on any desired position control path. It canadvantageously be performed automatically and it is particularlysuitable for implementation in a microcomputer. The structure of theevaluation algorithm is simple, which makes it possible to incorporateit into very cost-effective control units. Another advantage is that forthe auxiliary control of greater derivations of the position guidancevariable by way of the auxiliary control parameters obtained accordingto the invention for a great number of different position control paths,the lag error becomes nearly zero, even in the dynamic movement state.Another advantage of the method is that it can be executed very rapidly.The method according to the invention is described in more detail in thespecification below and by way of the drawing.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram of an arrangement for carrying out themethod according to the invention on one axis;

FIGS. 2a and 2b show position guidance variables employed fordetermining the auxiliary control parameters as a function of; and

FIG. 3 is a flow chart illustrating how the proportional members in FIG.1 are initialized.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The block diagram shown in FIG. 1 contains a position control loop,including an interpolator 13, a control unit 11, interfaces 30, 31, anda controlled path or system 12, as well as an arrangement which performsauxiliary control of a position guidance variable. This arrangementincludes a differentiating member 14 and a plurality of proportionalmembers 15 to 17. Further proportional members arranged parallel toblocks 15 to 17 may be provided but are not shown in FIG. 1.

The controlled path 12 encompasses one of the i axes of a machine tooland the associated drive(s). Controlled path 12 is only shown inprinciple. It may contain further cascaded control loops, for example, arotational speed control circuit. The transmission factors ofproportional members 15 to 17 are externally adjustable. To accomplishthis, they are advisably provided with memory means in which values forproportional factors are stored. The control value is the actualposition value 21, and the command or guidance variable is a signal 20produced in interpolator 13. A differential signal 22 formed by thedifference of guidance variable 20 and the actual value 21 is amplifiedin control unit 11. The control unit is usually a proportional controlunit having an amplifying factor K. An auxiliary control signal 23 isadded to the output signal 25 of the control unit at a summing point 28.The auxiliary control signal 23 and the control unit output signal 25form a guide signal 24, which is fed to control path 12 by way of adrive interface 30 on the control unit side, and interface 31 on thedrive side. Data transmission between interfaces 30 and 31 is preferablyaccomplished in digital form. The actual position value 21 is fed backfrom the output of control path 12 via interfaces 31 and 30 to summingpoint 27. The guidance variable signal 20 is simultaneously fed todifferentiating member 14. The latter creates time derivatives d/dt, d²/dt², etc., of guidance variable signal 20 and feeds those in increasingorder of derivation to proportional members 15, 16, 17, etc. The outputsignals of proportional members 15, 16, 17, etc., are combined atsumming point 29 and form auxiliary control signal 23.

Function blocks 11 and 13 are usually realized in the form of a computerprogram in a micro-computer. Blocks 14 to 17 are also preferablyrealized in the form of a program in the same computer. A controlarrangement having the structure shown in FIG. 1 is provided for eachaxis of the machine tool.

The implementation of the method for determining auxiliary controlparameters is elucidated in more detail in the following paragraph.

The method is implemented individually axis by axis for each one of thei axes of the machine. The respective axis to which the method isapplied is hereinafter referred to as the "i-th axis." The remainingaxes are switched to be passive. To determine the auxiliary parameters,the auxiliary control is initially turned off. Signal 23 thus initiallyequals zero. In a first method step, a position guidance variable signal20 which, seen as a function of time, is ramp shaped, is generated byinterpolator 13 for the i-th axis of the machine. FIG. 2a depicts abasic example of a suitable signal. The position x (ordinate) is plottedover the time t (abscissa). The i-th axis triggered by this signal thusmoves on a straight positioning line which changes at a constant speed.Signal 20 is maintained until system 12, i.e., the i-th axis, is in thesteady state and a constant deviation 22 between the desired and actualposition sets in. The value of the steady-state error 22 is multipliedby the amplification factor K of control unit 11 and is divided by thevalue V of the slope of the ramp of guidance variable signal 20. Toaccomplish this, the value V of the slope of the ramp is determined inthe differentiating member 14 by differentiation of the guidancevariable signal curve (FIG. 2a) over time. The result obtained bymultiplication and division is stored in the memory of proportionalmember 15. The value obtained in this manner represents a firstauxiliary control parameter for the i-th axis, hereinafter called thespeed auxiliary control parameter.

Subsequent to determining the speed auxiliary control parameters for thei-th axis, a second auxiliary control parameter is determined for thesame axis in a subsequent second part of the method. The condition forcarrying out the second method step is that the speed auxiliary controlparameter be already known. For the second method step, the auxiliarycontrol is activated for the i-th axis. However, only the proportionalmember 15 is activated with the speed auxiliary control parameter knownfrom the first method step. The further proportional members 16, 17,etc., remain inactive. An auxiliary control signal 23 weighted with thespeed control auxiliary parameter is present at the output of summingpoint 29. Further parts of the method for determining the secondauxiliary control parameter are in principle analogous to therealization of the first part of the method. Interpolator 13 produces atime-variant guidance value signal 20 for the i-th axis. As a functionof time, this has the shape of a parabola of second order in the secondpart of the method. Such a signal is qualitatively shown in FIG. 2b;position x is plotted over time axis t. This signal is again maintaineduntil the excited system 12, i.e., the i-th axis, reaches the steadystate and a steady-state error 22 sets in. The value of the steady-stateerror is again multiplied with the amplification K of the control unit,is divided by the value of the curvature a of guidance variable signal20, which is determined by two-time differentiation of guidance variablesignal 20 according to the time in differentiating member 14, and isread into the memory of second proportional member 16. The value that isformed represents the second auxiliary control parameter, hereinaftercalled the acceleration auxiliary control parameter.

The basic procedure for determining the two first auxiliary controlparameters may subsequently be successively repeated in the same sensefor the i-th axis for any desired number of further auxiliary controlparameters of a higher order. A third auxiliary control parameter, whichcorresponds to a jolt auxiliary control, can thus be determined by firstactivating, in addition to the first proportional member 15, the secondproportional member 16 for which the proportionality factor wasdetermined in the second part of the method. An auxiliary control signal23 is thus present at the output of summing point 29. This signalcomprises a component proportional to the speed, which is weighted withthe speed auxiliary control parameter, and a component proportional tothe acceleration, which is weighted with the acceleration auxiliarycontrol parameter. The interpolator produces a guidance variable signal20 which, as a function of time, has the shape of a parabola of thirdorder. The guidance variable signal 20 is emitted until the i-th axis isin the steady state and a constant deviation 22 occurs. The value of thedeviation 22 is again multiplied by the amplification of control unit11, is divided by the value of the third derivative of the desiredvalue, which is formed in differentiating member 14, and is read intothe memory of proportionality member 17. The value obtained in thismanner represents the third auxiliary control parameter.

By repeating the process, further auxiliary control parameters of ahigher order may be determined. The advantage of using auxiliary controlparameters of a higher order is that through them, the lag distancedecreases progressively for any desired guidance variable signalsoccurring during normal operation of the machine. However, in practiceit will generally be sufficient to determine a speed auxiliary controlparameter, an acceleration auxiliary control parameter and a joltauxiliary control parameter.

The method for determining auxiliary control parameters for one, namelythe i-th axis, is subsequently repeated for each further axis.

The auxiliary control parameters determined for all axes are transferredunchanged into the numerical control for the normal operation of themachine. A new determination of the auxiliary control parameters isrequired only if the controlled path of the machine tool is changed.This could be the case, for example, after mechanical alterations weremade to the drive of an axis.

As was noted previously, function blocks 14-17 are preferablyimplemented by a computer (not shown). FIG. 3 illustrates a flow chartfor initialling the proportional members 15-17 for the i-th axis of amachine tool when such a computer is employed.

In step 50, proportional members 15-17 are disconnected from summingpoint 29. In step 52, interpolator 13 emits a ramp signal as theguidance variable signal 20, thereby commanding the machine to move at aconstant velocity (step 54). However, the actual movement of the machinetool typically lags behind the instantaneous value of the guidancevariable signal 20. The error between the actual position of the machinetool and the command position reaches a steady state which is detectedin step 56. The speed auxiliary control parameter is calculated in step58 by dividing the steady-state error by the command velocity (that is,the first derivative with respect to time of the ramp signal that hasbeen provided as guidance variable signal 20) and multiplying thequotient by the same amplification factor K that is employed by controlunit 11. The result is stored (step 60) in proportional member 15, whichis then connected to summing point 29.

The auxiliary control parameter for acceleration is found in much thesame way. This time, however, the guidance variable signal 20 emitted byinterpolator 13 (step 68) is a parabola of the second order as shown inFIG. 2b rather than a ramp (i.e., it varies quadratically rather thanlinearly with time). The machine tool moves under the stimulus of thisinput signal (step 70) until a steady-state error sets in. This isdetected in step 72. The acceleration auxiliary control parameter iscalculated in step 74. This calculation is the same as the calculationin step 58 except that the second time derivative of the guidancevariable signal rather than the first time derivative is used. That is,the acceleration control parameter is calculated by dividing thesteady-state error that was detected in step 72 by the second derivativeof the input signal that was supplied in step 68 and the quotient ismultiplied by the amplification factor K of the control unit 11. Theresult is stored in proportional member 16. The proportional member 16is connected to summing point 29 in step 78 prior to determination ofthe jolt auxiliary control parameter and any other higher orderauxiliary control parameters that may be desired. This is indicatedschematically in FIG. 3 by the three dots following step 78. The joltauxiliary control parameter, for example, is determined by driving themachine tool using a parabola of the third order as the input signal,dividing the steady-state error which results by the third derivative ofthis input signal, and multiplying the quotient by the factor K.

After the system has been initialized in the foregoing manner the storedauxiliary control parameters are available for use during actualmachining. The guidance variable signal 20 is supplied not only tosumming point 27 but also to differentiating member 14, which in turnsupplies the first derivative with respect to time of the signal 20 toproportional member 15 (which stores the speed auxiliary parameter),supplies the second derivative with respect to time of the signal 20 toproportional member 16 (which stores the acceleration auxiliary controlparameter), and so forth. The stored auxiliary control parameters canthe be used to generate weighted signals which are added at summingpoint 29 to form an auxiliary control signal 23 which supplements theoutput signal 25 of control unit 11.

A prerequisite for realizing the method according to the invention isthat the individual axes of the machine tool be sufficiently decoupledand also, that each individual axis demonstrates a linear transmissionbehavior. If this prerequisite is observed, the method may be employedfor any desired system. Knowledge of the precise transmission behaviorof the machine tool and its individual components is not necessary. Themethod is particularly suitable for implementation in a microcomputerwhich is part of a numerically controlled machine tool anyway. It isparticularly recommended to provide for an automated performance of themethod, which is carried out automatically upon activation of themachine tool.

We claim:
 1. A method of determining an acceleration auxiliary controlparameter when a speed auxiliary control parameter is known so that theauxiliary control parameters can be used, in a system in which aguidance variable is supplied to a position control loop which generatesa guide signal, having a first portion and a second portion, to controlthe position of a controlled path of a numerically controlled machine,to generate an auxiliary control signal which is supplied to theposition control loop, said method comprising the steps of:(a) supplyingthe position control loop with a guidance variable which changes overtime in the form of a parabola of the second order; (b) using the firsttime derivative of the guidance variable supplied in step (a) weightedby the known speed auxiliary control signal as the second portion of theguide signal; (c) detecting the value of an error signal generated bythe position control loop when the error signal reaches a steady-state,the error signal being proportional to the difference between theguidance variable and an actual position value, with the first portionof the guide signal being a function of the error signal; (d) derivingthe acceleration auxiliary control parameter at least in part from thesteady-state error signal and a second time derivative of the guidancevariable supplied in step (a); and (e) storing the accelerationauxiliary control parameter.
 2. A method according to claim 1, whereinthe acceleration auxiliary control parameter is derived in step (d) bymultiplying the steady-state error value by an amplification factor anddividing by the second derivative with respect to time of the guidancevariable supplied in step (a).
 3. A method for determining an n+1-thauxiliary control parameter after n auxiliary control parameters areknown so that the n+1 auxiliary control parameters can be employed, in asystem in which a guidance variable is supplied to a position controlloop which generates a guide signal, having a first portion and a secondportion, to control the position of a controlled path of a numericallycontrolled machine, to weight n+1 signals formed by differentiating thecontrol variable n+1 times with respect to time, the weighted signalsbeing combined to form an auxiliary control signal which is superimposedon the guide signal to provide auxiliary control of the dynamic behaviorof the controlled path, said method comprising the steps of:(a)supplying the position control loop with a guidance variable whichchanges over time in the form of a parabola of the order n+1; (b) usingthe first time derivative of the guidance variable supplied in step (a)weighted by the known n-th auxiliary control signal as the secondportion of the guide signal; (c) detecting the value of an error signalgenerated by the position control loop when the error signal reaches asteady-state, the error signal being proportional to the differencebetween the guidance variable and an actual position value, with thefirst portion of the guide signal being a function of the error signal;(d) deriving the n+1-th auxiliary control parameter at least in partfrom the steady-state error signal and a further time derivative of theguidance variable supplied in step (a); and (e) storing the n+1-thauxiliary control parameter.
 4. A method according to claim 3, whereinthe n+1-th auxiliary control parameter is derived in step (d) bymultiplying the steady-state error value by an amplification factor anddividing by the n+1-th derivative with respect to time of the guidancevariable supplied in step (a).
 5. A method of determining an n+1-thauxiliary control parameter for weighing a signal which has been derivedfrom a guidance variable supplied to a position control loop for acontrolled path of a numerically controlled machine by differentiationwith respect to time, if n auxiliary control parameters for weighing nother signals derived by differentiation with respect to time from theguidance variable are known, and wherein an auxiliary control signal isobtained from the weighted signals and superimposed on an error signalgenerated by the position control loop to provide auxiliary control ofthe dynamic behavior of the controlled path, said method comprising thesteps of:(a) supplying the position control loop with a guidancevariable which changes over time in the form of a parabola of the n+1-thorder; (b) superimposing an auxiliary control signal having n componentson the error signal, the n components being formed by weighing n signalswith the n auxiliary control parameters that are known, the n signalsbeing derived from the guidance variable by differentiation with respectto time; (c) detecting the value of the error signal that is generatedby the position control loop when the error signal reaches asteady-state; and (d) selecting a value which is a function of thesteady-state error value as the n+1-th auxiliary control parameter; andwherein the n+1-th auxiliary control parameter is selected in step (d)by multiplying the steady-state error value by an amplification factorand dividing by the n+1-th derivative with respect to time of theguidance variable supplied in step (a).
 6. A method of determiningauxiliary control parameters for use in a system in which a member ismoved in response to a guide signal having first and second portions,the first portion of the guide signal being a function of the differencebetween an actual position signal and a guidance variable signal whichdesignates a command position for the member, and the second portion ofthe guide signal being determined from the guidance variable signal andthe auxiliary control parameters, said method comprising the stepsof:(a) supplying a ramp signal as the guidance variable signal; (b)setting the second portion of the guide signal to zero; (c) detecting asteady-state error value between the guidance variable signal and theactual position signal; (d) calculating a speed auxiliary controlparameter on the basis of at least the steady-state error signaldetected in step (c) and the first time derivative of the ramp signalsupplied in step (a); (e) storing the speed auxiliary control parameter;(f) supplying a signal which changes over time in the form of a parabolaof the second order as the guidance variable signal; (g) using the firsttime derivative of the guidance variable signal supplied in step (f)weighted by the speed auxiliary control signal as the second portion ofthe guide signal; (h) detecting a steady-state error value between theguidance variable signal supplied in step (f) and the actual positionsignal; (i) calculating an acceleration auxiliary control parameter onthe basis of at least the steady-state error value detected in step (h)and the second time derivative of the guidance variable signal suppliedin step (f); and (j) storing the acceleration auxiliary controlparameter.
 7. The method of claim 6, further comprising the steps of:(k)supplying a signal which changes over time in the form of a parabola ofthe third order as the guidance variable signal; (l) using the sum ofthe first time derivative of the guidance variable supplied in step (k)weighted by the speed auxiliary control signal and the second timederivative of the guidance variable signal supplied in step (k) weightedby the acceleration auxiliary control signal as the second portion ofthe guide signal; (m) detecting a steady-state error value between theguidance variable signal supplied in step (k) and the actual positionsignal; (n) calculating a further auxiliary control parameter on thebasis of at least the steady-state error value detected in step (m) andthe third time derivative of the guidance variable signal supplied instep (k); and (o) storing the further auxiliary control parameter.